package cn.com.dcsgo.common.validation;

import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;
import org.springframework.util.StringUtils;

/**
 * NotBlankIfNotNullValidator
 *
 * @author Dcsgo
 * @since 23/5/2025 下午 2:29
 */

public class NotBlankIfNotNullValidator implements ConstraintValidator<NotBlankIfNotNull, String> {
    @Override
    public void initialize(NotBlankIfNotNull constraintAnnotation) {
        // 如果需要读取注解参数，可在这里处理。当前无需
    }

    @Override
    public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) {
        if (s == null) {
            // 允许null
            return true;
        }
        // 不为null时，不能全为空白
        return StringUtils.hasText(s);
    }
}
